<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue组件自定义指令</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <style>
    </style>
</head>

<body>
    <div id="Application">
        <div style="position: absolute; width: 50px;">
            <my-alert></my-alert>
        </div>
    </div>
    <script>
        const App = Vue.createApp({})
        App.component("my-alert", {
            template: `
                <div>
                    <button @click="show = true">弹出弹窗</button>    
                </div>
                <teleport to="body">
                <div v-if="show" style="text-align: center;padding:20px; position:absolute;top: 30%; left:30%; width:40%; border:black solid 2px; background-color:white">
                    <h3>弹窗</h3> 
                    <button @click="show = false">隐藏弹窗</button>      
                </div>
                </teleport>
            `,
            data() {
                return {
                    show: false
                }
            }
        })
        App.mount("#Application") 
    </script>
</body>

</html>